<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>404 | 罗锦安的blog</title>
    <meta name="description" content="Not Found">
    <link rel="stylesheet" href="/giteepage_blog/assets/style.7751b5f0.css">
    <link rel="modulepreload" href="/giteepage_blog/assets/app.8c2b9bab.js">
    
    <script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-fc91a531><!--[--><!--]--><!--[--><span tabindex="-1" data-v-19a00f3c></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-19a00f3c> Skip to content </a><!--]--><!----><header class="VPNav no-sidebar" data-v-fc91a531 data-v-2e5b0dfc><div class="VPNavBar" data-v-2e5b0dfc data-v-57336f2d><div class="container" data-v-57336f2d><div class="VPNavBarTitle" data-v-57336f2d data-v-60d74ef4><a class="title" href="/giteepage_blog/" data-v-60d74ef4><!--[--><!--]--><!----><!--[-->罗锦安的blog<!--]--><!--[--><!--]--></a></div><div class="content" data-v-57336f2d><!--[--><!--]--><!----><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-57336f2d data-v-ddeb1f26><span id="main-nav-aria-label" class="visually-hidden" data-v-ddeb1f26>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="https://gitee.com/luojinan1" target="_blank" rel="noreferrer" data-v-ddeb1f26 data-v-230f9108 data-v-bf6d4382><!--[-->gitee<!--]--><!----></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-57336f2d data-v-ae9a97bb><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-ae9a97bb data-v-9312fe85 data-v-a71afa9e><span class="check" data-v-a71afa9e><span class="icon" data-v-a71afa9e><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-9312fe85><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-9312fe85><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-57336f2d data-v-446c2ad9 data-v-2c4090e8><!--[--><a class="VPSocialLink" href="https://gitee.com/luojinan1" target="_blank" rel="noopener" data-v-2c4090e8 data-v-a99e5443><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-57336f2d data-v-f14df81d data-v-97fd8b98><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-97fd8b98><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-97fd8b98><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-97fd8b98><div class="VPMenu" data-v-97fd8b98 data-v-79123c45><!----><!--[--><!--[--><!----><div class="group" data-v-f14df81d><div class="item appearance" data-v-f14df81d><p class="label" data-v-f14df81d>Appearance</p><div class="appearance-action" data-v-f14df81d><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-f14df81d data-v-9312fe85 data-v-a71afa9e><span class="check" data-v-a71afa9e><span class="icon" data-v-a71afa9e><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-9312fe85><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-9312fe85><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-f14df81d><div class="item social-links" data-v-f14df81d><div class="VPSocialLinks social-links-list" data-v-f14df81d data-v-2c4090e8><!--[--><a class="VPSocialLink" href="https://gitee.com/luojinan1" target="_blank" rel="noopener" data-v-2c4090e8 data-v-a99e5443><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-57336f2d data-v-b5a83624><span class="container" data-v-b5a83624><span class="top" data-v-b5a83624></span><span class="middle" data-v-b5a83624></span><span class="bottom" data-v-b5a83624></span></span></button></div></div></div><!----></header><!----><!----><div class="VPContent" id="VPContent" data-v-fc91a531 data-v-1f75116f><div class="NotFound" data-v-1f75116f data-v-24756079><p class="code" data-v-24756079>404</p><h1 class="title" data-v-24756079>PAGE NOT FOUND</h1><div class="divider" data-v-24756079></div><blockquote class="quote" data-v-24756079> But if you don&#39;t change your direction, and if you keep looking, you may end up where you are heading. </blockquote><div class="action" data-v-24756079><a class="link" href="/giteepage_blog/" aria-label="go to home" data-v-24756079> Take me home </a></div></div></div><!----><!--[--><!--]--></div></div>
    <script>__VP_HASH_MAP__ = JSON.parse("{\"interview_前端面试之道-事件机制.md\":\"7e896362\",\"interview_前端面试之道-安全.md\":\"518a9d1e\",\"interview_前端面试之道-变量提升.md\":\"d7eb33bb\",\"vue_重学vue-vue.use.md\":\"23728968\",\"week_202110-1.md\":\"c8bfaa56\",\"vue_重学vue-03render函数.md\":\"4376e77c\",\"vue_重学vue-08组件.md\":\"e00bd1e9\",\"jiagou_移动端响应式开发单位设计.md\":\"e8ab96d1\",\"week_202111-1.md\":\"5e3ace88\",\"js_dayformat正则的使用.md\":\"b7e5888a\",\"webpack__草稿.md\":\"18b32a5c\",\"interview_前端面试之道-缓存.md\":\"0a35938d\",\"webpack_mini打包工具.md\":\"2e38dd52\",\"interview_前端面试之道-思考题.md\":\"17fae964\",\"vue_重学vue-04内置指令.md\":\"53c53243\",\"webpack_重学webpack-01打包工具的思考.md\":\"172b87a9\",\"interview_面试-架构.md\":\"5456aa4f\",\"work_从url获取图片宽高.md\":\"e34f08be\",\"interview_手写系列-new原理.md\":\"1863e0ee\",\"interview_js基础.md\":\"738e9553\",\"week__0todo.md\":\"4c48af54\",\"interview_前端面试之道-继承.md\":\"8e46d918\",\"interview_手写系列-instanceof.md\":\"2452a995\",\"performance_慕课网web性能优化.md\":\"3bbae927\",\"node_cli相关学习.md\":\"e6e2a2f4\",\"performance_serviceworker.md\":\"d3b6b19f\",\"interview_前端面试之道-浏览器原理.md\":\"e08da152\",\"performance_webpack打包优化.md\":\"b41a3b76\",\"http_http3.md\":\"473095a6\",\"interview_前端面试之道-跨域.md\":\"b7c7c1b2\",\"interview_手写系列-lru缓存算法.md\":\"0dfff35a\",\"http_http缓存.md\":\"9d2bfdf4\",\"js_你不知道的js.md\":\"27389cc6\",\"jiagou_monorepo.md\":\"42b54c6e\",\"performance_ssr.md\":\"2e98e4cf\",\"interview_前端面试之道-原型.md\":\"b0d07912\",\"week_缓存工具方法思路.md\":\"d9330378\",\"vue_重学vue-动画内置组件.md\":\"4e7e909b\",\"jiagou_自动生成按需导出目录.md\":\"e6c64963\",\"vue_vue-router实现原理.md\":\"87f00784\",\"interview_手写系列-settime模拟setinterval.md\":\"646ce8b6\",\"interview_前端面试之道-js数据类型.md\":\"cb65918b\",\"interview_面试-js.md\":\"9a5cc6fc\",\"interview_手写系列-防抖节流.md\":\"055d08e7\",\"webpack_重学webpack-05hmr热更新.md\":\"acf127cc\",\"interview_手写系列-数组转树.md\":\"2713c8af\",\"interview_前端面试之道-前端监控.md\":\"b04a7877\",\"interview__过.md\":\"24e3ce0c\",\"interview_面试-vue.md\":\"bd176b43\",\"webcomponents_1. webcomponent介绍.md\":\"b1eb6286\",\"interview_前端面试之道-this.md\":\"0ea26554\",\"microfrontend_介绍.md\":\"2c6c1eae\",\"vue3_elementplus.md\":\"b18edd5d\",\"interview_手写系列-发布订阅和观察者.md\":\"6ec2c5e4\",\"webpack_1.md\":\"c785e603\",\"typescript_vue2加ts.md\":\"5c26be15\",\"vue_esbuild使用.md\":\"47e7a31d\",\"interview_手写系列-callbind.md\":\"9b7ab677\",\"interview_前端面试之道-数字精度.md\":\"14928bc6\",\"vue_重学vue-09生命周期.md\":\"14899925\",\"index.md\":\"f143772c\",\"jiagou_从0到1构建符合标准的公共库.md\":\"c98c5c88\",\"vue_重学vue-07watch.md\":\"10a7a031\",\"interview_前端面试之道-0.md\":\"eaad6360\",\"week_202110-2.md\":\"5715e19d\",\"jiagou_切换主题方案.md\":\"e2f4ba65\",\"innermanage_内管前端工程.md\":\"09080b14\",\"webpack_实现一个自己的脚手架.md\":\"ddd7bee0\",\"interview_todo.md\":\"ae73ffe7\",\"interview_手写系列-复杂axios.md\":\"6d9ac3e9\",\"js_proxy.md\":\"44147b13\",\"vue_重学vue-01模板语法.md\":\"dace5069\",\"vue_重学vue-8组件通信.md\":\"f431a9ac\",\"webpack_重学webpack-03loader.md\":\"4e899872\",\"js_设计模式.md\":\"bf9b7e2a\",\"js_object.entries.md\":\"f0f90382\",\"js_你不知道的js-异步-事件循环.md\":\"f0b6048d\",\"others_电影-导演同一主题对比.md\":\"7b537835\",\"js_优雅的class.md\":\"a9dee846\",\"vue_模板编译.md\":\"6a4029f5\",\"jiagou_前端基础建设与架构30讲.md\":\"8e438efe\",\"js_深入babel.md\":\"8dd9c14a\",\"vue_create-vue脚手架.md\":\"2e728b79\",\"microfrontend_拟定微前端架构设计.md\":\"161a4bbb\",\"interview_面试-css.md\":\"3a4255e0\",\"interview_手写系列-深拷贝.md\":\"f3ec01e6\",\"jiagou_深入babel.md\":\"5f4f432d\",\"js_es2020.md\":\"ef20447c\",\"jiagou_搭建组件库.md\":\"d2db9bcb\",\"js_你不知道的js-异步-代码编写.md\":\"db42dfde\",\"interview_手写系列-复杂promise.md\":\"76a98e43\",\"jiagou_表单组件带校验功能.md\":\"ef3b30fa\",\"vue_重学vue-05filter多余吗.md\":\"cbd1ade8\",\"js_serviceworker.md\":\"3ea114bc\",\"vue_重学vue-06computer.md\":\"12dff690\",\"vue_重学vue-11nexttick.md\":\"17a45398\",\"http_http2.md\":\"809d6a46\",\"js_浏览器垃圾回收.md\":\"e00e9a5c\",\"webpack_重学webpack-04plugin.md\":\"e55b4647\",\"microfrontend_微前端前世今生.md\":\"04ad3199\",\"interview_手写系列-map和filter和reduce.md\":\"69a6ec77\",\"vue_路由页面历史栈的处理.md\":\"f2f48454\",\"interview_前端面试之道-闭包.md\":\"cb39a38d\",\"interview_面试-算法.md\":\"3da28c08\",\"webcomponents_2. customelements.md\":\"dfe9fc79\",\"work_ios小白条问题.md\":\"df675eb7\",\"vue3_入门.md\":\"38c4fc45\",\"webpack_重学webpack-02模块化原理.md\":\"7c97f9af\",\"vue_重学vue-02数据驱动视图.md\":\"2e4b291d\",\"jiagou_异步组件设计.md\":\"fe5e6361\",\"interview_各种题目01.md\":\"ee09148f\",\"microfrontend_架构思想.md\":\"2ee157bf\",\"vue_重学vue-10ref是什么.md\":\"c6918c48\",\"js_luhn算法.md\":\"8e92243c\",\"node_cheetah-learn.md\":\"2fb6699c\",\"jiagou_插件式设计.md\":\"009ac126\",\"vue3_前期初始化项目步骤.md\":\"399d0cf7\",\"js_前端模块化.md\":\"d4620865\",\"vue_keep-alive原理.md\":\"5faa2303\",\"interview_面试-数据结构.md\":\"dbe1bd44\"}")</script>
    <script type="module" async src="/giteepage_blog/assets/app.8c2b9bab.js"></script>
    
  </body>
</html>